package tools.jackson.module.kotlin.test.parameterSize

import com.fasterxml.jackson.annotation.JsonCreator
import org.junit.jupiter.api.Test
import tools.jackson.module.kotlin.assertReflectEquals
import tools.jackson.module.kotlin.defaultMapper
import tools.jackson.module.kotlin.readValue
import kotlin.test.assertEquals

/**
 * Up to argument size 32 there is one mask argument for the default argument,
 * 33 ~ 64 there are two, and 65 there are three, so each boundary value is tested.
 * Also, the maximum argument size that can be set in the constructor is 244, so that case is tested as well.
 */
class DeserializeByFactoryWithDefaultArgumentsTest {
    data class Dst32(
        val p00: String,
        val p01: String,
        val p02: String,
        val p03: String,
        val p04: String,
        val p05: String,
        val p06: String,
        val p07: String,
        val p08: String,
        val p09: String,
        val p10: String,
        val p11: String,
        val p12: String,
        val p13: String,
        val p14: String,
        val p15: String,
        val p16: String,
        val p17: String,
        val p18: String,
        val p19: String,
        val p20: String,
        val p21: String,
        val p22: String,
        val p23: String,
        val p24: String,
        val p25: String,
        val p26: String,
        val p27: String,
        val p28: String,
        val p29: String,
        val p30: String,
        val p31: String
    ) {
        companion object {
            @JvmStatic
            @JsonCreator
            fun creator(
                q00: String = "p00",
                q01: String = "p01",
                q02: String = "p02",
                q03: String = "p03",
                q04: String = "p04",
                q05: String = "p05",
                q06: String = "p06",
                q07: String = "p07",
                q08: String = "p08",
                q09: String = "p09",
                q10: String = "p10",
                q11: String = "p11",
                q12: String = "p12",
                q13: String = "p13",
                q14: String = "p14",
                q15: String = "p15",
                q16: String = "p16",
                q17: String = "p17",
                q18: String = "p18",
                q19: String = "p19",
                q20: String = "p20",
                q21: String = "p21",
                q22: String = "p22",
                q23: String = "p23",
                q24: String = "p24",
                q25: String = "p25",
                q26: String = "p26",
                q27: String = "p27",
                q28: String = "p28",
                q29: String = "p29",
                q30: String = "p30",
                q31: String = "p31"
            ) = Dst32(
                q00,
                q01,
                q02,
                q03,
                q04,
                q05,
                q06,
                q07,
                q08,
                q09,
                q10,
                q11,
                q12,
                q13,
                q14,
                q15,
                q16,
                q17,
                q18,
                q19,
                q20,
                q21,
                q22,
                q23,
                q24,
                q25,
                q26,
                q27,
                q28,
                q29,
                q30,
                q31
            )
        }
    }

    @Test
    fun test32() {
        assertEquals(Dst32.creator(), defaultMapper.readValue<Dst32>("{}"))
    }

    data class Dst33(
        val p00: String,
        val p01: String,
        val p02: String,
        val p03: String,
        val p04: String,
        val p05: String,
        val p06: String,
        val p07: String,
        val p08: String,
        val p09: String,
        val p10: String,
        val p11: String,
        val p12: String,
        val p13: String,
        val p14: String,
        val p15: String,
        val p16: String,
        val p17: String,
        val p18: String,
        val p19: String,
        val p20: String,
        val p21: String,
        val p22: String,
        val p23: String,
        val p24: String,
        val p25: String,
        val p26: String,
        val p27: String,
        val p28: String,
        val p29: String,
        val p30: String,
        val p31: String,
        val p32: String
    ) {
        companion object {
            @JvmStatic
            @JsonCreator
            fun creator(
                q00: String = "p00",
                q01: String = "p01",
                q02: String = "p02",
                q03: String = "p03",
                q04: String = "p04",
                q05: String = "p05",
                q06: String = "p06",
                q07: String = "p07",
                q08: String = "p08",
                q09: String = "p09",
                q10: String = "p10",
                q11: String = "p11",
                q12: String = "p12",
                q13: String = "p13",
                q14: String = "p14",
                q15: String = "p15",
                q16: String = "p16",
                q17: String = "p17",
                q18: String = "p18",
                q19: String = "p19",
                q20: String = "p20",
                q21: String = "p21",
                q22: String = "p22",
                q23: String = "p23",
                q24: String = "p24",
                q25: String = "p25",
                q26: String = "p26",
                q27: String = "p27",
                q28: String = "p28",
                q29: String = "p29",
                q30: String = "p30",
                q31: String = "p31",
                q32: String = "p32"
            ) = Dst33(
                q00,
                q01,
                q02,
                q03,
                q04,
                q05,
                q06,
                q07,
                q08,
                q09,
                q10,
                q11,
                q12,
                q13,
                q14,
                q15,
                q16,
                q17,
                q18,
                q19,
                q20,
                q21,
                q22,
                q23,
                q24,
                q25,
                q26,
                q27,
                q28,
                q29,
                q30,
                q31,
                q32
            )
        }
    }

    @Test
    fun test33() {
        assertEquals(Dst33.creator(), defaultMapper.readValue<Dst33>("{}"))
    }

    data class Dst64(
        val p00: String,
        val p01: String,
        val p02: String,
        val p03: String,
        val p04: String,
        val p05: String,
        val p06: String,
        val p07: String,
        val p08: String,
        val p09: String,
        val p10: String,
        val p11: String,
        val p12: String,
        val p13: String,
        val p14: String,
        val p15: String,
        val p16: String,
        val p17: String,
        val p18: String,
        val p19: String,
        val p20: String,
        val p21: String,
        val p22: String,
        val p23: String,
        val p24: String,
        val p25: String,
        val p26: String,
        val p27: String,
        val p28: String,
        val p29: String,
        val p30: String,
        val p31: String,
        val p32: String,
        val p33: String,
        val p34: String,
        val p35: String,
        val p36: String,
        val p37: String,
        val p38: String,
        val p39: String,
        val p40: String,
        val p41: String,
        val p42: String,
        val p43: String,
        val p44: String,
        val p45: String,
        val p46: String,
        val p47: String,
        val p48: String,
        val p49: String,
        val p50: String,
        val p51: String,
        val p52: String,
        val p53: String,
        val p54: String,
        val p55: String,
        val p56: String,
        val p57: String,
        val p58: String,
        val p59: String,
        val p60: String,
        val p61: String,
        val p62: String,
        val p63: String
    ) {
        companion object {
            @JvmStatic
            @JsonCreator
            fun creator(
                q00: String = "p00",
                q01: String = "p01",
                q02: String = "p02",
                q03: String = "p03",
                q04: String = "p04",
                q05: String = "p05",
                q06: String = "p06",
                q07: String = "p07",
                q08: String = "p08",
                q09: String = "p09",
                q10: String = "p10",
                q11: String = "p11",
                q12: String = "p12",
                q13: String = "p13",
                q14: String = "p14",
                q15: String = "p15",
                q16: String = "p16",
                q17: String = "p17",
                q18: String = "p18",
                q19: String = "p19",
                q20: String = "p20",
                q21: String = "p21",
                q22: String = "p22",
                q23: String = "p23",
                q24: String = "p24",
                q25: String = "p25",
                q26: String = "p26",
                q27: String = "p27",
                q28: String = "p28",
                q29: String = "p29",
                q30: String = "p30",
                q31: String = "p31",
                q32: String = "p32",
                q33: String = "p33",
                q34: String = "p34",
                q35: String = "p35",
                q36: String = "p36",
                q37: String = "p37",
                q38: String = "p38",
                q39: String = "p39",
                q40: String = "p40",
                q41: String = "p41",
                q42: String = "p42",
                q43: String = "p43",
                q44: String = "p44",
                q45: String = "p45",
                q46: String = "p46",
                q47: String = "p47",
                q48: String = "p48",
                q49: String = "p49",
                q50: String = "p50",
                q51: String = "p51",
                q52: String = "p52",
                q53: String = "p53",
                q54: String = "p54",
                q55: String = "p55",
                q56: String = "p56",
                q57: String = "p57",
                q58: String = "p58",
                q59: String = "p59",
                q60: String = "p60",
                q61: String = "p61",
                q62: String = "p62",
                q63: String = "p63"
            ) = Dst64(
                q00,
                q01,
                q02,
                q03,
                q04,
                q05,
                q06,
                q07,
                q08,
                q09,
                q10,
                q11,
                q12,
                q13,
                q14,
                q15,
                q16,
                q17,
                q18,
                q19,
                q20,
                q21,
                q22,
                q23,
                q24,
                q25,
                q26,
                q27,
                q28,
                q29,
                q30,
                q31,
                q32,
                q33,
                q34,
                q35,
                q36,
                q37,
                q38,
                q39,
                q40,
                q41,
                q42,
                q43,
                q44,
                q45,
                q46,
                q47,
                q48,
                q49,
                q50,
                q51,
                q52,
                q53,
                q54,
                q55,
                q56,
                q57,
                q58,
                q59,
                q60,
                q61,
                q62,
                q63
            )
        }
    }

    @Test
    fun test64() {
        assertEquals(Dst64.creator(), defaultMapper.readValue<Dst64>("{}"))
    }

    data class Dst65(
        val p00: String,
        val p01: String,
        val p02: String,
        val p03: String,
        val p04: String,
        val p05: String,
        val p06: String,
        val p07: String,
        val p08: String,
        val p09: String,
        val p10: String,
        val p11: String,
        val p12: String,
        val p13: String,
        val p14: String,
        val p15: String,
        val p16: String,
        val p17: String,
        val p18: String,
        val p19: String,
        val p20: String,
        val p21: String,
        val p22: String,
        val p23: String,
        val p24: String,
        val p25: String,
        val p26: String,
        val p27: String,
        val p28: String,
        val p29: String,
        val p30: String,
        val p31: String,
        val p32: String,
        val p33: String,
        val p34: String,
        val p35: String,
        val p36: String,
        val p37: String,
        val p38: String,
        val p39: String,
        val p40: String,
        val p41: String,
        val p42: String,
        val p43: String,
        val p44: String,
        val p45: String,
        val p46: String,
        val p47: String,
        val p48: String,
        val p49: String,
        val p50: String,
        val p51: String,
        val p52: String,
        val p53: String,
        val p54: String,
        val p55: String,
        val p56: String,
        val p57: String,
        val p58: String,
        val p59: String,
        val p60: String,
        val p61: String,
        val p62: String,
        val p63: String,
        val p64: String
    ) {
        companion object {
            @JvmStatic
            @JsonCreator
            fun creator(
                q00: String = "p00",
                q01: String = "p01",
                q02: String = "p02",
                q03: String = "p03",
                q04: String = "p04",
                q05: String = "p05",
                q06: String = "p06",
                q07: String = "p07",
                q08: String = "p08",
                q09: String = "p09",
                q10: String = "p10",
                q11: String = "p11",
                q12: String = "p12",
                q13: String = "p13",
                q14: String = "p14",
                q15: String = "p15",
                q16: String = "p16",
                q17: String = "p17",
                q18: String = "p18",
                q19: String = "p19",
                q20: String = "p20",
                q21: String = "p21",
                q22: String = "p22",
                q23: String = "p23",
                q24: String = "p24",
                q25: String = "p25",
                q26: String = "p26",
                q27: String = "p27",
                q28: String = "p28",
                q29: String = "p29",
                q30: String = "p30",
                q31: String = "p31",
                q32: String = "p32",
                q33: String = "p33",
                q34: String = "p34",
                q35: String = "p35",
                q36: String = "p36",
                q37: String = "p37",
                q38: String = "p38",
                q39: String = "p39",
                q40: String = "p40",
                q41: String = "p41",
                q42: String = "p42",
                q43: String = "p43",
                q44: String = "p44",
                q45: String = "p45",
                q46: String = "p46",
                q47: String = "p47",
                q48: String = "p48",
                q49: String = "p49",
                q50: String = "p50",
                q51: String = "p51",
                q52: String = "p52",
                q53: String = "p53",
                q54: String = "p54",
                q55: String = "p55",
                q56: String = "p56",
                q57: String = "p57",
                q58: String = "p58",
                q59: String = "p59",
                q60: String = "p60",
                q61: String = "p61",
                q62: String = "p62",
                q63: String = "p63",
                q64: String = "p64"
            ) = Dst65(
                q00,
                q01,
                q02,
                q03,
                q04,
                q05,
                q06,
                q07,
                q08,
                q09,
                q10,
                q11,
                q12,
                q13,
                q14,
                q15,
                q16,
                q17,
                q18,
                q19,
                q20,
                q21,
                q22,
                q23,
                q24,
                q25,
                q26,
                q27,
                q28,
                q29,
                q30,
                q31,
                q32,
                q33,
                q34,
                q35,
                q36,
                q37,
                q38,
                q39,
                q40,
                q41,
                q42,
                q43,
                q44,
                q45,
                q46,
                q47,
                q48,
                q49,
                q50,
                q51,
                q52,
                q53,
                q54,
                q55,
                q56,
                q57,
                q58,
                q59,
                q60,
                q61,
                q62,
                q63,
                q64
            )
        }
    }

    @Test
    fun test65() {
        assertEquals(Dst65.creator(), defaultMapper.readValue<Dst65>("{}"))
    }

    // It cannot be a data class because the generated method would exceed the argument size limit.
    class DstMax(
        val p000: String,
        val p001: String,
        val p002: String,
        val p003: String,
        val p004: String,
        val p005: String,
        val p006: String,
        val p007: String,
        val p008: String,
        val p009: String,
        val p010: String,
        val p011: String,
        val p012: String,
        val p013: String,
        val p014: String,
        val p015: String,
        val p016: String,
        val p017: String,
        val p018: String,
        val p019: String,
        val p020: String,
        val p021: String,
        val p022: String,
        val p023: String,
        val p024: String,
        val p025: String,
        val p026: String,
        val p027: String,
        val p028: String,
        val p029: String,
        val p030: String,
        val p031: String,
        val p032: String,
        val p033: String,
        val p034: String,
        val p035: String,
        val p036: String,
        val p037: String,
        val p038: String,
        val p039: String,
        val p040: String,
        val p041: String,
        val p042: String,
        val p043: String,
        val p044: String,
        val p045: String,
        val p046: String,
        val p047: String,
        val p048: String,
        val p049: String,
        val p050: String,
        val p051: String,
        val p052: String,
        val p053: String,
        val p054: String,
        val p055: String,
        val p056: String,
        val p057: String,
        val p058: String,
        val p059: String,
        val p060: String,
        val p061: String,
        val p062: String,
        val p063: String,
        val p064: String,
        val p065: String,
        val p066: String,
        val p067: String,
        val p068: String,
        val p069: String,
        val p070: String,
        val p071: String,
        val p072: String,
        val p073: String,
        val p074: String,
        val p075: String,
        val p076: String,
        val p077: String,
        val p078: String,
        val p079: String,
        val p080: String,
        val p081: String,
        val p082: String,
        val p083: String,
        val p084: String,
        val p085: String,
        val p086: String,
        val p087: String,
        val p088: String,
        val p089: String,
        val p090: String,
        val p091: String,
        val p092: String,
        val p093: String,
        val p094: String,
        val p095: String,
        val p096: String,
        val p097: String,
        val p098: String,
        val p099: String,
        val p100: String,
        val p101: String,
        val p102: String,
        val p103: String,
        val p104: String,
        val p105: String,
        val p106: String,
        val p107: String,
        val p108: String,
        val p109: String,
        val p110: String,
        val p111: String,
        val p112: String,
        val p113: String,
        val p114: String,
        val p115: String,
        val p116: String,
        val p117: String,
        val p118: String,
        val p119: String,
        val p120: String,
        val p121: String,
        val p122: String,
        val p123: String,
        val p124: String,
        val p125: String,
        val p126: String,
        val p127: String,
        val p128: String,
        val p129: String,
        val p130: String,
        val p131: String,
        val p132: String,
        val p133: String,
        val p134: String,
        val p135: String,
        val p136: String,
        val p137: String,
        val p138: String,
        val p139: String,
        val p140: String,
        val p141: String,
        val p142: String,
        val p143: String,
        val p144: String,
        val p145: String,
        val p146: String,
        val p147: String,
        val p148: String,
        val p149: String,
        val p150: String,
        val p151: String,
        val p152: String,
        val p153: String,
        val p154: String,
        val p155: String,
        val p156: String,
        val p157: String,
        val p158: String,
        val p159: String,
        val p160: String,
        val p161: String,
        val p162: String,
        val p163: String,
        val p164: String,
        val p165: String,
        val p166: String,
        val p167: String,
        val p168: String,
        val p169: String,
        val p170: String,
        val p171: String,
        val p172: String,
        val p173: String,
        val p174: String,
        val p175: String,
        val p176: String,
        val p177: String,
        val p178: String,
        val p179: String,
        val p180: String,
        val p181: String,
        val p182: String,
        val p183: String,
        val p184: String,
        val p185: String,
        val p186: String,
        val p187: String,
        val p188: String,
        val p189: String,
        val p190: String,
        val p191: String,
        val p192: String,
        val p193: String,
        val p194: String,
        val p195: String,
        val p196: String,
        val p197: String,
        val p198: String,
        val p199: String,
        val p200: String,
        val p201: String,
        val p202: String,
        val p203: String,
        val p204: String,
        val p205: String,
        val p206: String,
        val p207: String,
        val p208: String,
        val p209: String,
        val p210: String,
        val p211: String,
        val p212: String,
        val p213: String,
        val p214: String,
        val p215: String,
        val p216: String,
        val p217: String,
        val p218: String,
        val p219: String,
        val p220: String,
        val p221: String,
        val p222: String,
        val p223: String,
        val p224: String,
        val p225: String,
        val p226: String,
        val p227: String,
        val p228: String,
        val p229: String,
        val p230: String,
        val p231: String,
        val p232: String,
        val p233: String,
        val p234: String,
        val p235: String,
        val p236: String,
        val p237: String,
        val p238: String,
        val p239: String,
        val p240: String,
        val p241: String,
        val p242: String,
        val p243: String
    ) {
        companion object {
            @JvmStatic
            @JsonCreator
            fun creator(
                q000: String = "p000",
                q001: String = "p001",
                q002: String = "p002",
                q003: String = "p003",
                q004: String = "p004",
                q005: String = "p005",
                q006: String = "p006",
                q007: String = "p007",
                q008: String = "p008",
                q009: String = "p009",
                q010: String = "p010",
                q011: String = "p011",
                q012: String = "p012",
                q013: String = "p013",
                q014: String = "p014",
                q015: String = "p015",
                q016: String = "p016",
                q017: String = "p017",
                q018: String = "p018",
                q019: String = "p019",
                q020: String = "p020",
                q021: String = "p021",
                q022: String = "p022",
                q023: String = "p023",
                q024: String = "p024",
                q025: String = "p025",
                q026: String = "p026",
                q027: String = "p027",
                q028: String = "p028",
                q029: String = "p029",
                q030: String = "p030",
                q031: String = "p031",
                q032: String = "p032",
                q033: String = "p033",
                q034: String = "p034",
                q035: String = "p035",
                q036: String = "p036",
                q037: String = "p037",
                q038: String = "p038",
                q039: String = "p039",
                q040: String = "p040",
                q041: String = "p041",
                q042: String = "p042",
                q043: String = "p043",
                q044: String = "p044",
                q045: String = "p045",
                q046: String = "p046",
                q047: String = "p047",
                q048: String = "p048",
                q049: String = "p049",
                q050: String = "p050",
                q051: String = "p051",
                q052: String = "p052",
                q053: String = "p053",
                q054: String = "p054",
                q055: String = "p055",
                q056: String = "p056",
                q057: String = "p057",
                q058: String = "p058",
                q059: String = "p059",
                q060: String = "p060",
                q061: String = "p061",
                q062: String = "p062",
                q063: String = "p063",
                q064: String = "p064",
                q065: String = "p065",
                q066: String = "p066",
                q067: String = "p067",
                q068: String = "p068",
                q069: String = "p069",
                q070: String = "p070",
                q071: String = "p071",
                q072: String = "p072",
                q073: String = "p073",
                q074: String = "p074",
                q075: String = "p075",
                q076: String = "p076",
                q077: String = "p077",
                q078: String = "p078",
                q079: String = "p079",
                q080: String = "p080",
                q081: String = "p081",
                q082: String = "p082",
                q083: String = "p083",
                q084: String = "p084",
                q085: String = "p085",
                q086: String = "p086",
                q087: String = "p087",
                q088: String = "p088",
                q089: String = "p089",
                q090: String = "p090",
                q091: String = "p091",
                q092: String = "p092",
                q093: String = "p093",
                q094: String = "p094",
                q095: String = "p095",
                q096: String = "p096",
                q097: String = "p097",
                q098: String = "p098",
                q099: String = "p099",
                q100: String = "p100",
                q101: String = "p101",
                q102: String = "p102",
                q103: String = "p103",
                q104: String = "p104",
                q105: String = "p105",
                q106: String = "p106",
                q107: String = "p107",
                q108: String = "p108",
                q109: String = "p109",
                q110: String = "p110",
                q111: String = "p111",
                q112: String = "p112",
                q113: String = "p113",
                q114: String = "p114",
                q115: String = "p115",
                q116: String = "p116",
                q117: String = "p117",
                q118: String = "p118",
                q119: String = "p119",
                q120: String = "p120",
                q121: String = "p121",
                q122: String = "p122",
                q123: String = "p123",
                q124: String = "p124",
                q125: String = "p125",
                q126: String = "p126",
                q127: String = "p127",
                q128: String = "p128",
                q129: String = "p129",
                q130: String = "p130",
                q131: String = "p131",
                q132: String = "p132",
                q133: String = "p133",
                q134: String = "p134",
                q135: String = "p135",
                q136: String = "p136",
                q137: String = "p137",
                q138: String = "p138",
                q139: String = "p139",
                q140: String = "p140",
                q141: String = "p141",
                q142: String = "p142",
                q143: String = "p143",
                q144: String = "p144",
                q145: String = "p145",
                q146: String = "p146",
                q147: String = "p147",
                q148: String = "p148",
                q149: String = "p149",
                q150: String = "p150",
                q151: String = "p151",
                q152: String = "p152",
                q153: String = "p153",
                q154: String = "p154",
                q155: String = "p155",
                q156: String = "p156",
                q157: String = "p157",
                q158: String = "p158",
                q159: String = "p159",
                q160: String = "p160",
                q161: String = "p161",
                q162: String = "p162",
                q163: String = "p163",
                q164: String = "p164",
                q165: String = "p165",
                q166: String = "p166",
                q167: String = "p167",
                q168: String = "p168",
                q169: String = "p169",
                q170: String = "p170",
                q171: String = "p171",
                q172: String = "p172",
                q173: String = "p173",
                q174: String = "p174",
                q175: String = "p175",
                q176: String = "p176",
                q177: String = "p177",
                q178: String = "p178",
                q179: String = "p179",
                q180: String = "p180",
                q181: String = "p181",
                q182: String = "p182",
                q183: String = "p183",
                q184: String = "p184",
                q185: String = "p185",
                q186: String = "p186",
                q187: String = "p187",
                q188: String = "p188",
                q189: String = "p189",
                q190: String = "p190",
                q191: String = "p191",
                q192: String = "p192",
                q193: String = "p193",
                q194: String = "p194",
                q195: String = "p195",
                q196: String = "p196",
                q197: String = "p197",
                q198: String = "p198",
                q199: String = "p199",
                q200: String = "p200",
                q201: String = "p201",
                q202: String = "p202",
                q203: String = "p203",
                q204: String = "p204",
                q205: String = "p205",
                q206: String = "p206",
                q207: String = "p207",
                q208: String = "p208",
                q209: String = "p209",
                q210: String = "p210",
                q211: String = "p211",
                q212: String = "p212",
                q213: String = "p213",
                q214: String = "p214",
                q215: String = "p215",
                q216: String = "p216",
                q217: String = "p217",
                q218: String = "p218",
                q219: String = "p219",
                q220: String = "p220",
                q221: String = "p221",
                q222: String = "p222",
                q223: String = "p223",
                q224: String = "p224",
                q225: String = "p225",
                q226: String = "p226",
                q227: String = "p227",
                q228: String = "p228",
                q229: String = "p229",
                q230: String = "p230",
                q231: String = "p231",
                q232: String = "p232",
                q233: String = "p233",
                q234: String = "p234",
                q235: String = "p235",
                q236: String = "p236",
                q237: String = "p237",
                q238: String = "p238",
                q239: String = "p239",
                q240: String = "p240",
                q241: String = "p241",
                q242: String = "p242",
                q243: String = "p243"
            ) = DstMax(
                q000,
                q001,
                q002,
                q003,
                q004,
                q005,
                q006,
                q007,
                q008,
                q009,
                q010,
                q011,
                q012,
                q013,
                q014,
                q015,
                q016,
                q017,
                q018,
                q019,
                q020,
                q021,
                q022,
                q023,
                q024,
                q025,
                q026,
                q027,
                q028,
                q029,
                q030,
                q031,
                q032,
                q033,
                q034,
                q035,
                q036,
                q037,
                q038,
                q039,
                q040,
                q041,
                q042,
                q043,
                q044,
                q045,
                q046,
                q047,
                q048,
                q049,
                q050,
                q051,
                q052,
                q053,
                q054,
                q055,
                q056,
                q057,
                q058,
                q059,
                q060,
                q061,
                q062,
                q063,
                q064,
                q065,
                q066,
                q067,
                q068,
                q069,
                q070,
                q071,
                q072,
                q073,
                q074,
                q075,
                q076,
                q077,
                q078,
                q079,
                q080,
                q081,
                q082,
                q083,
                q084,
                q085,
                q086,
                q087,
                q088,
                q089,
                q090,
                q091,
                q092,
                q093,
                q094,
                q095,
                q096,
                q097,
                q098,
                q099,
                q100,
                q101,
                q102,
                q103,
                q104,
                q105,
                q106,
                q107,
                q108,
                q109,
                q110,
                q111,
                q112,
                q113,
                q114,
                q115,
                q116,
                q117,
                q118,
                q119,
                q120,
                q121,
                q122,
                q123,
                q124,
                q125,
                q126,
                q127,
                q128,
                q129,
                q130,
                q131,
                q132,
                q133,
                q134,
                q135,
                q136,
                q137,
                q138,
                q139,
                q140,
                q141,
                q142,
                q143,
                q144,
                q145,
                q146,
                q147,
                q148,
                q149,
                q150,
                q151,
                q152,
                q153,
                q154,
                q155,
                q156,
                q157,
                q158,
                q159,
                q160,
                q161,
                q162,
                q163,
                q164,
                q165,
                q166,
                q167,
                q168,
                q169,
                q170,
                q171,
                q172,
                q173,
                q174,
                q175,
                q176,
                q177,
                q178,
                q179,
                q180,
                q181,
                q182,
                q183,
                q184,
                q185,
                q186,
                q187,
                q188,
                q189,
                q190,
                q191,
                q192,
                q193,
                q194,
                q195,
                q196,
                q197,
                q198,
                q199,
                q200,
                q201,
                q202,
                q203,
                q204,
                q205,
                q206,
                q207,
                q208,
                q209,
                q210,
                q211,
                q212,
                q213,
                q214,
                q215,
                q216,
                q217,
                q218,
                q219,
                q220,
                q221,
                q222,
                q223,
                q224,
                q225,
                q226,
                q227,
                q228,
                q229,
                q230,
                q231,
                q232,
                q233,
                q234,
                q235,
                q236,
                q237,
                q238,
                q239,
                q240,
                q241,
                q242,
                q243
            )
        }
    }

    @Test
    fun testMax() {
        assertReflectEquals(DstMax.creator(), defaultMapper.readValue<DstMax>("{}"))
    }
}
